package com.lxyk.service.impl;

import com.lxyk.mapper.AccountMapper;
import com.lxyk.service.AccountService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.math.BigDecimal;

/**
 * @ClassName AccountServiceImpl
 * @Description TODO
 * @Author FJQ
 * @Date 2022/11/30 16:35
 * @Version 1.0
 **/
@Service
public class AccountServiceImpl implements AccountService {
    @Resource
    private AccountMapper accountMapper;

    @Override
    public void decrease(Long userId, BigDecimal money) {
        /*这个睡眠时间是为了测试用的，测试出问题的情况 不加@GlobalTransactional的时候订单状态是0，但是库存和余额都变了，这是不对的，加了这个注解，前端
        * 出现异常，但是数据库没有任何改变*/
        /*try {
            TimeUnit.SECONDS.sleep(20);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }*/

        accountMapper.decrease(userId,money);
    }
}
